package com.ktgj.customer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 旅游订单对象
 */
public class OrderInfoDto {

    private static final long serialVersionUID = 1L;

    /** 订单号 */
    private Long orderId;

    /** 团号表主键 */
    @Excel(name = "团号表主键")
    private Long numberId;
    //团名称
    private String groupName;
    //团类型
    private String groupType;
    //团编号
    private String groupNumber;

    /** 会员编号 */
    @Excel(name = "会员编号")
    private Long customerId;

    /** 会员姓名 */
    @Excel(name = "会员姓名")
    private String customerName;

    /** 会员卡手机号 */
    @Excel(name = "会员卡手机号")
    private String customerPhone;

    /** 会员卡号 */
    @Excel(name = "会员卡号")
    private String customerCardId;

    /** 微信号 */
    @Excel(name = "微信号")
    private String wechatId;

    /** 支付总金额 */
    @Excel(name = "支付总金额")
    private BigDecimal payAmount;

    /** 支付状态：0未支付，1已支付 */
    @Excel(name = "支付状态：0未支付，1已支付")
    private String payStatus;

    /** 支付记录表主键 */
    @Excel(name = "支付记录表主键")
    private Long payId;

    /** 创建员工 */
    @Excel(name = "创建员工")
    private Long employeeId;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String orderMemo;

    /** 总附加产品金额 */
    @Excel(name = "总附加产品金额")
    private BigDecimal totalProductAmount;

    /** 总单房差金额 */
    @Excel(name = "总单房差金额")
    private BigDecimal totalDifferentRoomFee;

    /** 总机票费用 */
    @Excel(name = "总机票费用")
    private BigDecimal totalFlightFee;

    /** 总plus使用金额 */
    @Excel(name = "总plus使用金额")
    private BigDecimal totalPlusUsed;

    /** 总优惠金额 */
    @Excel(name = "总优惠金额")
    private BigDecimal totalDiscountUsed;

    /** 总旅游券使用金额 */
    @Excel(name = "总旅游券使用金额")
    private BigDecimal totalTravelUsed;

    //券ID
    private Long couponID;
    //预留款金额
    private BigDecimal depositAmount;

    /**
     * 订单号
     * */
    private String orderNum;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;

    /** 紧急联系电话 */
    @Excel(name = "紧急联系电话")
    private String urgentPhone;
    //乘客数量
    private int personCount;
    //订单状态
    private int status;
    //支付类型
    private String payType;
    //渠道来源
    private String sourceWay;

    public String getPayType()
    {
        return payType;
    }

    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getSourceWay()
    {
        return sourceWay;
    }

    public void setSourceWay(String sourceWay)
    {
        this.sourceWay = sourceWay;
    }

    public int getStatus()
    {
        return status;
    }

    public void setStatus(int status)
    {
        this.status = status;
    }

    public int getPersonCount()
    {
        return personCount;
    }

    public void setPersonCount(int personCount)
    {
        this.personCount = personCount;
    }

    public String getGroupName()
    {
        return groupName;
    }

    public void setGroupName(String groupName)
    {
        this.groupName = groupName;
    }

    public String getGroupType()
    {
        return groupType;
    }

    public void setGroupType(String groupType)
    {
        this.groupType = groupType;
    }

    public String getGroupNumber()
    {
        return groupNumber;
    }

    public void setGroupNumber(String groupNumber)
    {
        this.groupNumber = groupNumber;
    }

    private List<OrderTouristDto> orderTouristDtoList;

    private List<OrderPaymentRecord2Dto> orderPaymentRecord2List;

    public String getUrgentPhone() {
        return urgentPhone;
    }

    public void setUrgentPhone(String urgentPhone) {
        this.urgentPhone = urgentPhone;
    }

    public List<OrderTouristDto> getOrderTouristDtoList() {
        return orderTouristDtoList;
    }

    public void setOrderTouristDtoList(List<OrderTouristDto> orderTouristDtoList) {
        this.orderTouristDtoList = orderTouristDtoList;
    }

    public List<OrderPaymentRecord2Dto> getOrderPaymentRecord2List() {
        return orderPaymentRecord2List;
    }

    public void setOrderPaymentRecord2List(List<OrderPaymentRecord2Dto> orderPaymentRecord2List) {
        this.orderPaymentRecord2List = orderPaymentRecord2List;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getNumberId() {
        return numberId;
    }

    public void setNumberId(Long numberId) {
        this.numberId = numberId;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerPhone() {
        return customerPhone;
    }

    public void setCustomerPhone(String customerPhone) {
        this.customerPhone = customerPhone;
    }

    public String getCustomerCardId() {
        return customerCardId;
    }

    public void setCustomerCardId(String customerCardId) {
        this.customerCardId = customerCardId;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public String getPayStatus() {
        return payStatus;
    }

    public void setPayStatus(String payStatus) {
        this.payStatus = payStatus;
    }

    public Long getPayId() {
        return payId;
    }

    public void setPayId(Long payId) {
        this.payId = payId;
    }

    public Long getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Long employeeId) {
        this.employeeId = employeeId;
    }

    public String getOrderMemo() {
        return orderMemo;
    }

    public void setOrderMemo(String orderMemo) {
        this.orderMemo = orderMemo;
    }

    public BigDecimal getTotalProductAmount() {
        return totalProductAmount;
    }

    public void setTotalProductAmount(BigDecimal totalProductAmount) {
        this.totalProductAmount = totalProductAmount;
    }

    public BigDecimal getTotalDifferentRoomFee() {
        return totalDifferentRoomFee;
    }

    public void setTotalDifferentRoomFee(BigDecimal totalDifferentRoomFee) {
        this.totalDifferentRoomFee = totalDifferentRoomFee;
    }

    public BigDecimal getTotalFlightFee() {
        return totalFlightFee;
    }

    public void setTotalFlightFee(BigDecimal totalFlightFee) {
        this.totalFlightFee = totalFlightFee;
    }

    public BigDecimal getTotalPlusUsed() {
        return totalPlusUsed;
    }

    public void setTotalPlusUsed(BigDecimal totalPlusUsed) {
        this.totalPlusUsed = totalPlusUsed;
    }

    public BigDecimal getTotalDiscountUsed() {
        return totalDiscountUsed;
    }

    public void setTotalDiscountUsed(BigDecimal totalDiscountUsed) {
        this.totalDiscountUsed = totalDiscountUsed;
    }

    public BigDecimal getTotalTravelUsed() {
        return totalTravelUsed;
    }

    public void setTotalTravelUsed(BigDecimal totalTravelUsed) {
        this.totalTravelUsed = totalTravelUsed;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getWechatId() {
        return wechatId;
    }

    public void setWechatId(String wechatId) {
        this.wechatId = wechatId;
    }

    public Long getCouponID() {
        return couponID;
    }

    public void setCouponID(Long couponID) {
        this.couponID = couponID;
    }

    public BigDecimal getDepositAmount() {
        return depositAmount;
    }

    public void setDepositAmount(BigDecimal depositAmount) {
        this.depositAmount = depositAmount;
    }

    public String getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }
}
